<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>运算符</title>
  </head>
  <body>
    <script>
      //T1
      //3 + 2 +“7”的结果是什么？3 + (2 + "7")的结果又是什么？这两个表达式输出的值是什么类型？
      //  57                        327                      两个输出的值是String类型

      //T2
      //6 - false的结果是什么？为什么
      //    结果是6  因为false被隐式转换成0了,所以6-0 结果为6

      //T3
      //6 - "false"和6 + "false"的结果分别是什么？结果输出值是什么数据类型？
      // 6 - "false"的结果是NaN       输出的值是Number类型
      // 6 + "false"的结果是6false    输出的值是String类型

      //T4
      //下面代码分别输出什么？请写出分析过程
      var a = 1;
      var b = ++a + ++a;
      // a输出的结果是3   因为a=1 ,第一个++a结果是2 ,第二个++a就是在第一个++a的结果在+1 ,所以2+1 输出结果为3
      // b输出的结果是5   第一个++a结果是2,第二个++a结果是3 , 所以2+3 输出的结果为5

      //T5
      //JS中哪些值通过Boolean对象转换出来的值为false
      //false , undefind ,null ,'' ,NaN, 0

      //T6
      //分析下面代码，写出分析过程，请问 j 和 y 分别是多少？(不要运行代码，自己分析后写出答案)
      var i = 100;
      i++;
      j = i++;
      y = ++j;
      console.log(y);
      console.log(j);
      // j输出的结果是102，因为j被后自增(i++)+了两个1 ,所以 100+1+1 结果为102
      // y输出的结果是102, 因为 j =i++ 中的 j 是本身由第一个i++得到的是101, 而y再经过前自增++j 所以101+1 结果为102
    </script>
  </body>
</html>
